 public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {

        //快慢指针
        //快指针先走K-1步，到达K,快慢指针再开始同时跑
        //到达终点，慢指针指向的就是倒数第k个结点
        if(head==null){
            //空链表直接返回
            return null;
        }
        int count=0;//记录链表长度

        ListNode slow=head;
        ListNode fast=head;
        int i=0;
        while(i<=(k-1)&&fast!=null){
            //快指针先走k-1步
            count++;
            fast=fast.next;
            i++;
        }
        //fast到达K位置后，快慢指针一起走
        while(fast!=null){
            count++;
            slow=slow.next;
            fast=fast.next;
        }
        //K大于链表长度直接返回null
        if(k>count){
            return null;
        }
        //最后慢指针指的位置就是倒数第K个
        return slow;
    }
}
